1. Field of the Invention
The present invention relates generally to data processing systems, and more particularly to network servers.
2. Background Art
Mainframe data processing, and more recently distributed computing, have required increasingly large amounts of data storage. This data storage is most economically provided by an array of low-cost disk drives integrated with a large semiconductor cache memory. Such cached disk arrays were originally introduced for use with IBM compatible host computers. A channel director in the cached disk array executed channel commands received over a channel from the host computer. More recently, a network attachment has been proposed for interfacing the cached disk array to a network. The network attachment, for example, is a computer programmed to communicate with clients on a network by following a network communication protocol, and to communicate with the cached disk array by issuing channel commands. Although this approach has the advantage of using a conventional cached disk array, the capabilities of the cached disk array are under utilized in this configuration, because the network attachment is a bottleneck to data access.
Cached disk arrays typically have multiple internal data processors, dual redundant internal data paths, and multiple input channels in order to provide a high degree of data availability in the event of various kinds of failures. If a data access request directed to one input channel is not acknowledged due to a failure of an internal data processor or input channel, then the data access request can be retransmitted to the cached disk array on another input channel with a high probability that the request will be acknowledged. A network attachment in the form of a single conventional digital computer would not provide such a high degree of data availability because a failure of the central processing unit, program memory, or power supply of the single conventional digital computer would block access by all network clients to the cached disk array.
Conventional digital computers known as personal computers or commodity digital computers, however, are very much less expensive than cached disk arrays or digital computers designed for high data availability. Therefore, it would be very desirable to construct a network attachment or a network file server using only commodity digital computers in some way that would provide the same high degree of data availability provided by a typical cached disk array. Moreover, it would be desirable to recover from a data processor failure in such a way that a network client would not have to retransmit a data access request to a different network address.